The basic advantage of the new high bandwidth, low delay, fixed length cell based transfer mode techniques, such as Asynchronous Transfer Mode (ATM), is to allow multiplexing and switching of different types of information over the same network: data, voice, image, video, while optimizing the bandwidth and resources utilization.
Congestion control inside these networks is one of the major problems to be resolved. As the cells are short, no space is allocated in the header to enable error recovery for the cell payload. If one cell of the block has been lost or discarded by the network, in case of network congestion, error recovery is performed at the higher-level by recovery protocols retransmitting the user data block. The error rate being extremely low in the internode links, cells lost because of random errors is not a potential problem. However, when a node discards cells for reason of traffic congestion detected, it is unlikely that these cells will come from a small number of logical data blocks. Discarding 1000 cells, if the average user data blocks length is 2K Bytes (a low estimate), sent as 43 cells, may cause the network to absorb a retransmission of 43,000 cells! This case indeed is the worse case when the 1000 messages come from 1000 different connections. That is why the protocols need to be efficient enough to limit the congestion problems in this type of networks.
In the ATM connection-oriented networks, the end-to-end traffic of data for one user, between the source and the destination, is represented by a Virtual Connection (VC); several Virtual Connections may be grouped in a Virtual Path (VP) that can be switched as a unit. The bandwidth is allocated dynamically as part of a connection setup signalling procedure that precedes end-to-end information exchange. At call admission time, the source user provides, in addition to the destination point, a set of parameters, called the traffic descriptors, which attempt to describe the traffic that will be generated onto the links. For instance, a mandatory descriptor is the peak cell rate of the connection, R. If this parameter is sufficient to fully describe Constant Bit Rate (CBR) connections, i.e., periodic stream of cells such as uncompressed voice, further parameters are necessary to describe Variable Bit Rate (VBR) connections such as those for video traffic. The burst of traffic is measured by the average cell rate and the average duration of an emission at the peak rate R in most of the high speed networks literature. As seen above, in ATM networks, cells may be lost or unacceptable delays can be induced in case of traffic congestion. Depending on the type of traffic conveyed over the ATM network, the first or the second just mentioned behavior of the network, in case of congestion, may damage the quality of traffic over the virtual connections: for voice traffic, cells can be lost but a delay in transmission is unacceptable. When data is transferred on the virtual connection, the delay can be acceptable but not the cell loss. That's why the network guarantees a Quality of Service (Qos). The QoS guaranteed by a network is, in most cases, expressed in terms of cell loss probability and maximum end-to-end delay for a cell, independently of network topologies and protocols. One can note that the end-to-end delay between two users is increased if the end-to-end connection crosses different network entities (private or public carrier networks) which have their own protocols and traffic management.
In order to meet the Qos, the network nodes have to control the traffic congestion both at connection admission time and once the connection is established.
At connection admission time the access node has to decide if it can accept the connection or not: its decision is based on the actual load of the links, and its analyzing of the traffic parameters of the connection. Moreover, it has also to compute a path table to carry this overload of traffic through the different nodes. If no path is found, the call is rejected. It is important to note that the decision to accept a new call has to be taken not only if the network node estimates that the QoS for the connection will be met, but also if it is sure that the added traffic will not have a significant impact on the QoS of all the connections already established.
A first control on traffic congestion, once the connection is established, is performed by the policing function implemented in a device, the policer, of the network access node adapter. The policer will detect and penalize the violation of the peak cell rate on the current traffic compared to the one required at call set up. Instead of the peak cell rate, another descriptor such as the Sustainable Cell Rate, the SCR (that is not yet a standardized parameter) can be used as a criterium for the policing function. In the following description, any reference to the peak cell rate can be replaced by SCR. The policing function is also referred in the ATM literature as the Network Parameter Control (NPC) or the Usage Parameter Control (UPC) depending if the source unit is a Network Node or a Customer Premise Node. Indeed, an efficient policing function should be transparent as long as the traffic characteristics provided by the source at call setup are met. This means that the policing algorithm should discard or tag user cells, unless the cell loss probability is less than or equal to the one defined by the QoS. On the other hand, the policing function will also discard or tag the cells that are in excess versus the peak cell rate provided at call set up.
A second control on traffic congestion consists in shaping the output network node traffic by spacing the cells departures in such a way that the time between two departures of cells for a same connection is never below a minimal value negotiated at connection setup time. It has been shown that, on the average, the multiplexing of spaced cells tends to decrease the `burstiness` of the aggregate traffic and that allows a better utilization of the network resources.
FIG. 1 shows a shaping principle applied to an input cell stream 1. The shaded cells have been sent by a first user and the cells marked with a cross have been sent by a second user. The result of shaping is shown with an output cell stream 2: the cells marked below with an equals sign (=) have been moved and the departure time between two cells have become more regular. The spacing of the cells is done in respect with the bandwidth share required by the users. In the output cell stream, the departure time between two cells is smaller for the cells of the first user than for the second user because the first user has required a greater bandwidth share than the second user. Moreover, in the output stream, the bursts of traffic have decreased. One can note that the groups of two cells belonging to a same connection of the input stream 1 have disappeared in the output stream 2.
The policing function is implemented in the access network nodes. A device implementing the policing function, the policer, is part of the high speed adapter cards; it controls and, if necessary, penalizes the traffic entering the network.
The shaping function is implemented in the devices accessing a network: they can be Customer Premise Nodes accessing an ATM network or a Network Node at the boundary of a first ATM network and intending to access another ATM network. As some Customer Premise Nodes can implement a policer, it is recommended the shaping function be also implemented in the node at the boundary of a network connecting Customer Premise Nodes with policers. The device implementing the shaping function, the shaper, is also part of the high speed adapter cards and controls the sending of the output traffic cells.
FIG. 2 shows a shaper and a policer implemented in a network node. Input lines 15 convey input cell streams (not shown) which are received by input adapters 10. In each adapter 10 the policer controls and penalizes, if necessary, the cells stream for each user. Afterwhich, the cells are switched in a switch 30 and sent to output adapters 20. In each output adapter 20, there is a shaper which spaces and sends the cells to output lines 25.
FIG. 3 shows a network topology to convey the traffic of users coupled to a source unit 40 to a destination unit 60, through two networks 42 and 52. In these networks, the nodes 45 are the access nodes; the policers are implemented in these access nodes 45. The shapers are implemented in the source unit 40 and in the node 50 which is at the boundary of the first network 42 and which accesses the second network 52. As the destination unit 60 may be a Customer Premise Node having implemented a policer, it is recommended a shaper also be implemented in the node 55 located at the boundary of the network 52.
Many policing schemes have recently been studied; some of the most known are the leaky bucket; the jumping window; the moving window, as described by Raif O. Onvural in his book entitled "Asynchronous Transfer Mode Networks: Performance Issues", Artech House, Boston (1994). Without lack of generality, each policing function estimates one or more traffic parameters for a given period of time P. As this period of time P decreases, the policer may become non-transparent to users generating a traffic in conformance with the parameters negotiated at connection establishment time. On the other hand, as P increases, the policer takes longer to detect that the source exceeds its declared characteristics. However, the latter approach is more fair since it allows the user to generate a stream of cells that have short-term fluctuations. This is done at the expense of more memory requirements at the node level.
The only policing function proposed as a standard by the ITU (International Telecommunications Union), is the Generic Cell Rate Algorithm (GCRA). Details of the GCRA are given in the ATM Forum, "ATM User-Network Interface Specification" Version 3.0, 1994. The GCRA role is, for each connection, to monitor the traffic arriving upstream according to the cell period T (T corresponds to the inverse of the peak cell rate R) and a given tolerance .tau. on this period. Basically, a cell is assumed to be conforming if the time elapsed between the arrival of two consecutive cells (belonging to the same connection) is greater than or equal to T-.tau.. If not, the cell is assumed to be non-conforming and is tagged and then, possibly discarded.
The policer discards cells not only because the source of traffic has violated the parameters negotiated at connection establishment, but also because of a distortion in the cell stream, well known as "jitter" or Cell Delay Variation (CDV). This distortion is due to the queuing of the cells at each intermediate network node and more generally the multiplexing of the cells on the output lines. The magnitude of the "jitter" depends on many parameters: the connection peak rate; the peak rate of the other connections that share the same link; the link load; the number of nodes passed through, etc. A consequence of the "jitter" is to induce, as the user cells travel through the network, some distortion on the traffic parameters declared by the source upstream. Especially, the instantaneous peak cell rate R' may be modified and may pass beyond the value R declared by the source upstream at connection establishment time. In the worst case R'&gt;R and the policing function with a short measurement interval (small period of time P) may take undesirable discarding actions. This is typically the case of the GCRA when the specified tolerance .tau., named Cell Delay Variation Tolerance (CDVT), is small. That is why the shaping function will buffer cells so that the departure rate from a node is less that the arrival rate. It has been shown that the multiplexing of spaced cells tends to decrease the "burstiness" of the aggregate traffic and that allows a better utilization of the network resources.
Policing and shaping control techniques should take into account the real-time constraints, as implemented in high speed network node adapters dealing with lines at several hundreds of Megabits per second. For example, the cell transmission time (cell time cycle) is about 2.7 .mu.s for a line speed of 155.52 Mbps (OC-3), and less than 0.7 .mu.s for a line speed of 622.08 Mbps (OC-12). This implies that the shaping and policing methods have a very short time to `manage` an incoming call. For instance, assuming (1) that only ten instructions are needed to both compute a cell transmission time and queue the cell to an output buffer and (2) each instruction takes no more than one time cycle, the execution requires more than 14 Mips (Million of instructions per second) from a processor devoted to this task, for an OC-12 output link. Usually hardware devices are needed and only simple computations (a few software instructions) and basic manipulations of cells are possible. As a consequence, shaping function will have to cope with a trade-off between complexity and performance.
Taking into account these above performance considerations, two shaping schemes are briefly examined hereunder. They represent the state of the art as understood by the inventors.
The first scheme relies on a very basic principle: the shaping function sends a given number, p, of cells at a link speed C, and keeps "silent" (i.e. the cells are buffered) until ##EQU1## If this approach requires no computation nor complex operations at the cell level, the CDV induced is quite bad and the tolerance that should be accommodated at the GRCA level to accept all the cells would be typically ##EQU2##
The second one, more sophisticated, is detailed in Eugene Wallmeier and Tom Worster article entitled "The Spacing Policer, An Algorithm For Efficient Peak Bit Rate Control in ATM Networks", published in the Proceedings of the of the XIV International Switching Symposium, Yokohama, Japan, Oct. 25-30, 1992. For an incoming cell of one connection, the time between two cell transmissions is such that the output peak rate is met, and the cell is queued to a list-of-cells that have to be sent at the same time tk. This list is referenced by the nth entry of a cyclic calendar with N inputs. A new entry of the calendar is sought at each cell time cycle, and the list-of-cells that have to be sent at time tn (0.ltoreq.n&lt;N) if any, is moved and queued to an output list. In short, the following operations are done at each cell time cycle:
Computing the transmission time ti for the incoming cell belonging to connection i;
Enqueueing the cell to the list-of-cells at the nth (0.ltoreq.n&lt;N) entry of the calendar;
Moving the list-of-cells of the current position m (0.ltoreq.m&lt;N) of the calendar to the output list;
Sending the first cell to the output list;
Incrementing the calendar position;
As one can see from above, the number of computations/manipulations is important. Moreover, the size of the calendar has to be quite large to support connections with small peak rate (large T). Although this algorithm gives good results in terms of CDV, it is impossible (without the knowledge of the aggregate incoming traffic pattern) to predict the "jitter" induced by the spacer. Therefore, the tolerance that should be accommodated at the GRCA must be quite large to ensure a minimal cell loss probability.
The state of the art described above and all known existing shaping schemes rely on the same principle. They compute a cell transmission time at each cell arrival, which depends on both current time and the time when the last cell was transmitted. For this reason, these shaping schemes may be referred as cell-basis schemes.
There is a need in the art to provide in fixed cell length network nodes adapters an efficient shaping method which controls and minimizes the CDV with a minimum of computing resources. This would limit the bursts of traffic and thus the problem of traffic congestion in these high speed networks. This would also optimize the bandwidth negotiated with the access node of a network. Particularly, when applied to ATM networks having implemented the GCRA algorithm in its access nodes, there is a further need to compute a value of the CDV tolerance which is the most accurate and never passed for the traffic considered thereby avoiding any penalization of the policer.